#ifndef VIDEOENCODETHREAD_H
#define VIDEOENCODETHREAD_H

#include <QObject>
#include "FFThread.h"
#include "FilePicker.h"

extern "C" {
    #include <libavcodec/avcodec.h>
    #include <libavutil/avutil.h>
    #include <libavutil/imgutils.h>
}

enum VideoEncodeType {
    VideoEncodeH264,
    VideoEncodeH265
};

struct VideoEnocdeSpec {

    VideoEncodeType encodeType = VideoEncodeH264;

    int width = 1920;

    int height = 1080;

    int fps = 30;

    AVPixelFormat fmt = AV_PIX_FMT_UYVY422;
};

class VideoEncodeThread : public FFThread
{
    Q_OBJECT
public:

    FileModel fileModel;

signals:

};

#endif // VIDEOENCODETHREAD_H
